package models

import (
	"github.com/golang-jwt/jwt/v5"
)

// User login structure
type UserLoginRequest struct {
	// validator 字段说明 https://github.com/go-playground/validator
	Username string `json:"username"  validate:"required,min=3,max=20"` // 用户名  3-20个字符之间
	Password string `json:"password" validate:"required,min=3,max=20"`  // 密码
	//Email    string `json:"email" validate:"email"`                     // 邮箱格式
	//Gender   string `json:"gender"    validate:"oneof=male female"`     // 必须要在选择范围内
}

// 根据token parse成的对象
type UserCustomClaims struct {
	*User
	jwt.RegisteredClaims // 内嵌标准的声明
}

type UserLoginResponse struct {
	*User
	Token    string `json:"token"`
	ExpireAt int    `json:"expireAt"` // 为了方便前端 直接拿到过期时间
}
